#ifndef QXREPORTTABLE_H
#define QXREPORTTABLE_H

#include <QObject>
#include "qxreporttablecell.h"

class QXREPORT_EXPORT QXReportTable : public QObject
{
    Q_OBJECT
public:
    explicit QXReportTable(QObject *parent = nullptr);

    // 添加单元格
    QXReportTableCell* cell(int row, int column);
    void addCell(int row, int column, QXReportTableCell* cell);

    // 获取行的最小高度
    int getRowMinHeight(const QFont& font, int iRow);

    // 设置表格列数
    int columnCount();
    void setColumnCount(int n);
    // 设置列宽
    void setColumnWidth(int iColumn, int width);

signals:

private:
    int m_iColumnCount;

    // 单元格列表
    QMap<int, QMap<int, QXReportTableCell*>> m_cellList;
    QMap<int, int> m_columnWidthMap;
};

#endif // QXREPORTTABLE_H
